/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package bolao.util;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 *
 * @author 
 */
public abstract class DatabaseExceptionHandler {

    private static final Logger log = LoggerFactory.getLogger(DatabaseExceptionHandler.class);
    protected StringUtil su;

    public DatabaseExceptionHandler() {
        su = new StringUtil();
    }

    public String getMensagemDeErroAmigavel(Exception ex) {
        String err = ex.getMessage();
        log.debug("### err -> ***" + err + "***");

        if (isErroDeConexao(err)) {
            return "Não foi possível conectar com o banco de dados.";
        }

        if (isErroDeRestricaoDeIntegridade(err)) {
            return "O registro que você está tentando excluir possui registros vinculados.";
        }
        return null;
    }

    public abstract boolean isErroDeRestricaoDeIntegridade(String err);

    public abstract boolean isErroDeConexao(String err);

}
